﻿using System;
using System.Collections.Generic;
using FluorineFx;
using Neturion.Dados;
using Neturion.Fachadas;

namespace Neturion.Servicos
{
    [RemotingService]
    public class ServicoSetor
    {
        public Setor Inserir(Setor setor, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Inserir(setor, usuarioPermissao);
        }

        public Setor Atualizar(Setor setor, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().Atualizar(setor, usuarioPermissao);
        }

        public void Excluir(Setor setor, Usuario usuarioPermissao)
        {
            Fachada.GetInstancia().Excluir(setor, usuarioPermissao);
        }

        public Setor ObterSetorPorId(int id, Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterSetorPorId(id, usuarioPermissao);
        }
        
        public Setor ObterSetorPorCodigo(Usuario usuarioPermissao, string codigo)
        {
            return Fachada.GetInstancia().ObterSetorPorCodigo(usuarioPermissao, codigo);
        }

        public IList<Setor> ObterSetorPorDescricao(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao, string descricao)
        {
            return Fachada.GetInstancia().ObterSetorPorDescricao(inicio, quantidade, quantidadeMinima,usuarioPermissao, descricao);
        }

        public IList<Setor> ObterTodosSetors(Usuario usuarioPermissao)
        {
            return Fachada.GetInstancia().ObterTodosSetors(usuarioPermissao);
        }

        public IList<Setor> ObterTodosSetores(int inicio, int quantidade, int quantidadeMinima, Usuario usuarioPermissao,
          string codigo, string descricao, Funcionario gerente, DateTime? inicioVigenciaDe, DateTime? inicioVigenciaAte, DateTime? fimVigenciaDe,
          DateTime? fimVigenciaAte)
        {
            return Fachada.GetInstancia().ObterTodosSetores(inicio, quantidade, quantidadeMinima, usuarioPermissao, codigo,
               descricao, gerente, inicioVigenciaDe, inicioVigenciaAte, fimVigenciaDe,
               fimVigenciaAte);
        
        }
    }
}